PARADOX-DataSource, Datafield,DBEdit
Otázka od: bugi
12. 9. 2002 0:10
Cau vsetkym!
Info: Delphi 3 Client/Sever Suite + Win2000
Mam zopar banalnych problemov, ale pretoze som greenhorn,
neviem si s nimi poradit.
Poradte please ...
1.
- mam formular na ktorom su kompon. pre pracu s databazami.
- vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
tlacitko "Pridat"
- na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
tabulky (paradox)
- na pridavacom formulari nemozem nadstavit DataSource, ani DataField
pre komponentu DBEdit.
Neponuka mi to ani ziadne moznosti, kde je chyba ?
2.
- na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
3.
- program bude pracovat na PC s viacerymi uzivatelmi, potreboval by som
aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
do pola DBEdit-ov:
- s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
( Win2000 )
- s nazvom Datum nacital zo systemu aktualny datum
- s nazvom Time nacital zo systemu aktualny cas
4.
- daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne ???
teda najnovsi datum a cas na prvom riadku ???
Za vsetky odpovede uprimne dakujem!
S pozdravom Bugala Alex
Odpovedá: CHMEL Karel, Mgr.
12. 9. 2002 17:18
Ahoj
> Info: Delphi 3 Client/Sever Suite + Win2000
>
> Mam zopar banalnych problemov, ale pretoze som greenhorn,
> neviem si s nimi poradit.
>
> Poradte please ...
>
>
> 1.
> - mam formular na ktorom su kompon. pre pracu s databazami.
> - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> tlacitko "Pridat"
> - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> tabulky (paradox)
> - na pridavacom formulari nemozem nadstavit DataSource, ani
> DataField
> pre komponentu DBEdit.
>
> Neponuka mi to ani ziadne moznosti, kde je chyba ?
v tom dialogu je musis mit komponentu Table a DataSource a vse
prislusne propojene (v Table nastaveno DatabaseName a TableName
a v DataSource nastavit DataSet na prislusnou Table
>
>
> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a
> potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
bud si nastav spravne poradi prvku a v obsluze OnShow zavolej metodu
SetFocus prislusneho Editu
>
>
>
> 3.
> - program bude pracovat na PC s viacerymi uzivatelmi,
> potreboval by som
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky
> automaticky
> do pola DBEdit-ov:
>
> - s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
> ( Win2000 )
> - s nazvom Datum nacital zo systemu aktualny datum
funkce Date vraci aktualni datum, do retezce ho prevedes funkci DateToStr(),
nejlepe nastavit opet v obsluze OnShow
> - s nazvom Time nacital zo systemu aktualny cas
funkce Time vraci aktualni datum, do retezce ho prevedes funkci TimeToStr(),
nejlepe nastavit opet v obsluze OnShow
>
>
> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu
> vzostupne ???
> teda najnovsi datum a cas na prvom riadku ???
Ano, vse zavisi na definici tabulky a indexu
Karel
Odpovedá: Lebeda David
12. 9. 2002 9:14
> 1.
> - mam formular na ktorom su kompon. pre pracu s databazami.
> - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> tlacitko "Pridat"
> - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> tabulky (paradox)
>
> - na pridavacom formulari nemozem nadstavit DataSource, ani
> DataField
> pre komponentu DBEdit.
Ahoj, melo by pomoci formular, kde je Datasource ci TTable apod. dat do uses
pridavaciho formu }melo by stacit uses v implementation sekci.
> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by
> som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
Moc nerozumim, ale snad neco takoveho:
Edit1.SetFocus;
nebo
Form.ActiveControl := Edit1;
> - s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
> ( Win2000 )
Na to jsou funkce, ted z hlavy nevim, tusim WNGetCurrentUser (fakt z hlavy
nevim,
viz help)
> - s nazvom Datum nacital zo systemu aktualny datum
> - s nazvom Time nacital zo systemu aktualny cas
Fce Date, Time, popr. Now.
> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu
> vzostupne ???
> teda najnovsi datum a cas na prvom riadku ???
Nevidim duvod, proc by to nemelo jit. Bud pres index nebo v query SQL prikazem.
David Lebeda
Odpovedá: Pavel Zichovsky
12. 9. 2002 7:28
Zdravim,
> 1.
> - mam formular na ktorom su kompon. pre pracu s databazami.
> - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> tlacitko "Pridat"
> - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> tabulky (paradox)
>
> - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> pre komponentu DBEdit.
>
> Neponuka mi to ani ziadne moznosti, kde je chyba ?
Chyba je v tom, ze ten form, kde mas ty DBedity "nevidi" form s tabulkou,
protoze ho
nemas v "uses". deji si tu unitu s DB formem do uses unity s formem na upravu a
pojede to.
> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
dbedit1.setfocus;
pripadne nastavit v IDE tab order
> 3.
> - program bude pracovat na PC s viacerymi uzivatelmi, potreboval by som
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
> do pola DBEdit-ov:
>
> - s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
> ( Win2000 )
table1['Login']:=nejakmusiszjistitjmenoprihlasenehouzivatele;
> - s nazvom Datum nacital zo systemu aktualny datum
table1['Datum']:=date;
> - s nazvom Time nacital zo systemu aktualny cas
table1['Time']:=time;
Nevim, jestli D3 umi k polim tabulky pristupovat pomoci table1['jmenopole'].
Pokud ne,
tak musis pouzit konstrukci table1.fieldbyname('jmenopole').astyp (vice viz
napoveda,
kde take najdes vse, co je popsano vyse .
> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne ???
> teda najnovsi datum a cas na prvom riadku ???
Udelas si sekundarni index, ktery to bude delat. V Delphi pak jen te tabulce
nastavis
property indexname na jmeno toho vytvoreneho sekundarniho indexu.
> Za vsetky odpovede uprimne dakujem!
Nojo, nemas zac
S pozdravem
Pavel Žichovský (zichovsky@trul.cz)
Odpovedá: Jan Sebelík
13. 9. 2002 7:29
> Odesílatel: bugi <bugala_a@centrum.sk>
> 1.
> - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> pre komponentu DBEdit.
Uses na unitu formulare, kde je ten DataSource?
> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
Edit.SetFocus?
> 3.
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
udalost Table.AfterInsert:
Table.FieldByName('Login').asString:= ...
Table.FieldByName('Datum').asDateTime:= Date;
Table.FieldByName('Time').asDateTime:= Time;
> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne ???
> teda najnovsi datum a cas na prvom riadku ???
Myslis sestupne, tedy od nejvyssiho po nejnizsi
select * from tabulka order by datum, cas desc;
> Za vsetky odpovede uprimne dakujem!
Uz jsi to tady slysel mnohokrat, ale pridam jeste jednu radu.
Vynalozil bych maximalni usili, abych se vyhnul Paradoxu.
To tim spis, ze jde o aplikaci se sdilenim dat.
Honza
=========================================
= HAES - RNDr. Jan Sebelik
= http://www.haes.cz
= Skolici a konzultacni stredisko pro Delphi a Win32
= Vojtiskova 206
= 507 81 Lazne Belohrad
= tel. 0434 692 569 (0776 347735)
=========================================
Odpovedá: Petr Brant
12. 9. 2002 8:34
Musim Paradox pouzivat, takze ho znam dobre, ale pokud muzu doporucit a mas
na vyber, tak radeji nejake to SQL. Ale neni-li to mozne, priprav se na
problemy. Osobni zkusenost.
>
> 1.
> - mam formular na ktorom su kompon. pre pracu s databazami.
> - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> tlacitko "Pridat"
> - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> tabulky (paradox)
>
> - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> pre komponentu DBEdit.
>
> Neponuka mi to ani ziadne moznosti, kde je chyba ?
>
Patrne na tom formu nemas zadnou komponentu TTable vazanou na nejaky ten
TDataSet. Pokud to D3 umi, pouzij TDataModul. Pokud ne, pouzij nejaky skryty
form, kam das tabulku a dataset a do uses obou tech formularu das odkaz na
tento skryty form. Pak budes mit k dispozici dataset i table z obou
formularu.
>
> 2.
> - na formulari mam niekolko DBMemo-v a jeden Edit a potreboval by som
> to nadstavit tak, aby kurzor blikal v Edite a nie v DBMem-e ...
>
Tohle nevim, ale snad pujde pouzit SetFocus.
>
> 3.
> - program bude pracovat na PC s viacerymi uzivatelmi, potreboval by som
> aby sa pri zadavani novych udajov / bod c.1 / do tabulky automaticky
> do pola DBEdit-ov:
>
> - s nazvom Login nacital zo systemu aktualne prihlaseny uzivatel
> ( Win2000 )
> - s nazvom Datum nacital zo systemu aktualny datum
> - s nazvom Time nacital zo systemu aktualny cas
- nevim, ale urcite na to bude nejaka API funkce
- Table.FieldByName('Datum').AsDateTime:= trunc(now);
- Table.FieldByName('Time').AsDateTime:= frac(now);
>
> 4.
> - daju sa v dtb paradox zoradovat udaje podla datumu a casu vzostupne
???
> teda najnovsi datum a cas na prvom riadku ???
STaci si udelat secondary index a nekde v DBDesktopu zaskrtnout
"descending". Samotne serazeni se provede nastavenim property IndexName,
napr. Table.IndexName:= 'JmenoIndexu';
>
> Za vsetky odpovede uprimne dakujem!
>
Za malo.
RNDr. Petr Brant [brant@dcomm.cz]
http://web.redbox.cz/petr.brant
ICQ #68652380
D&COMM s.r.o.
Korunovační 6
170 00 Praha 7
Odpovedá: Petr Hložek
12. 9. 2002 22:59
> > - mam formular na ktorom su kompon. pre pracu s databazami.
> > - vytvoril som dalsi formular, ktory sa zobrazi pri kliknuti na
> > tlacitko "Pridat"
> > - na tomto pridavacom Forme su DBEdit-y, ktore by sa mali
> > vyplnit a po kliknuti na "OK" by sa mali nove udaje zapisat do
> > tabulky (paradox)
> >
> > - na pridavacom formulari nemozem nadstavit DataSource, ani DataField
> > pre komponentu DBEdit.
> >
> > Neponuka mi to ani ziadne moznosti, kde je chyba ?
Zkus to do te property Datasource primo napsat. Treba MainForm.Datasource1
Mohlo by to fungovat .....
Petr